Spectrographic monitoring of a substrate during processing using index values

ABSTRACT

Methods, systems, and apparatus for spectrographic monitoring of a substrate during chemical mechanical polishing are described. In one aspect, a computer-implemented method includes storing a library having a plurality of reference spectra, each reference spectrum of the plurality of reference spectra having a stored associated index value, measuring a sequence of spectra in-situ during polishing to obtain measured spectra, for each measured spectrum of the sequence of spectra, finding a best matching reference spectrum to generate a sequence of best matching reference spectra, determining the associated index value for each best matching spectrum from the sequence of best matching reference spectra to generate a sequence of index values, fitting a linear function to the sequence of index values, and halting the polishing either when the linear function matches or exceeds a target index or when the associated index value from the determining step matches or exceeds the target index.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/699,014, filed Feb. 2, 2010, which is a continuation-in-part of U.S.application Ser. No. 12/185,719, filed Aug. 4, 2008, which is acontinuation of U.S. application Ser. No. 11/748,825, filed May 15,2007, which claims priority of U.S. Provisional application Ser. No.60/747,768, filed May 19, 2006. U.S. application Ser. No. 12/699,014 isalso a continuation-in-part of U.S. application Ser. No. 12/182,076,filed Jul. 29, 2008, which is a divisional of U.S. application Ser. No.11/261,742, filed Oct. 28, 2005. U.S. application Ser. No. 12/699,014,U.S. application Ser. No. 11/748,825, and U.S. application Ser. No.11/261,742 are continuation-in-part applications of U.S. applicationSer. No. 11/213,344, filed Aug. 26, 2005, which claim priority to U.S.Provisional Application Ser. No. 60/710,682, filed Aug. 22, 2005. U.S.application Ser. No. 12/699,014 is also a continuation-in-part of U.S.application Ser. No. 12/258,923, filed Oct. 27, 2008. The disclosure ofeach prior application is considered part of and is incorporated byreference in the disclosure of this application.

BACKGROUND

The present specification relates generally to spectrographic monitoringof a substrate during chemical mechanical polishing.

An integrated circuit is typically formed on a substrate by thesequential deposition of conductive, semiconductive, or insulativelayers on a silicon wafer. One fabrication step involves depositing afiller layer over a non-planar surface and planarizing the filler layer.For certain applications, the filler layer is planarized until the topsurface of a patterned layer is exposed. A conductive filler layer, forexample, can be deposited on a patterned insulative layer to fill thetrenches or holes in the insulative layer. After planarization, theportions of the conductive layer remaining between the raised pattern ofthe insulative layer form vias, plugs, and lines that provide conductivepaths between thin film circuits on the substrate. For otherapplications, such as oxide polishing, the filler layer is planarizeduntil a predetermined thickness is left over the non planar surface. Inaddition, planarization of the substrate surface is usually required forphotolithography.

Chemical mechanical polishing (CMP) is one accepted method ofplanarization. This planarization method typically requires that thesubstrate be mounted on a carrier or polishing head. The exposed surfaceof the substrate is typically placed against a rotating polishing diskpad or belt pad. The polishing pad can be either a standard pad or afixed abrasive pad. A standard pad has a durable roughened surface,whereas a fixed-abrasive pad has abrasive particles held in acontainment media. The carrier head provides a controllable load on thesubstrate to push it against the polishing pad. A polishing liquid, suchas a slurry with abrasive particles, is typically supplied to thesurface of the polishing pad.

One problem in CMP is determining whether the polishing process iscomplete, i.e., whether a substrate layer has been planarized to adesired flatness or thickness, or when a desired amount of material hasbeen removed. Overpolishing (removing too much) of a conductive layer orfilm leads to increased circuit resistance. On the other hand,underpolishing (removing too little) of a conductive layer leads toelectrical shorting. Variations in the initial thickness of thesubstrate layer, the slurry composition, the polishing pad condition,the relative speed between the polishing pad and the substrate, and theload on the substrate can cause variations in the material removal ratein different zones of the substrate, for example. These variations causevariations in the time needed to reach the polishing endpoint.Therefore, the polishing endpoint cannot be determined merely as afunction of polishing time.

SUMMARY

In general, one aspect of the subject matter described in thisspecification can be embodied in a computer-implemented method thatincludes storing a library having a plurality of reference spectra, eachreference spectrum of the plurality of reference spectra having a storedassociated index value, measuring a sequence of spectra in-situ duringpolishing to obtain measured spectra, for each measured spectrum of thesequence of spectra, finding a best matching reference spectrum togenerate a sequence of best matching reference spectra, determining theassociated index value for each best matching spectrum from the sequenceof best matching reference spectra to generate a sequence of indexvalues, fitting a linear function to the sequence of index values, andhalting the polishing either when the linear function matches or exceedsa target index or when the associated index value from the determiningstep matches or exceeds the target index.

In general, another aspect of the subject matter described in thisspecification can be embodied in a computer-implemented method thatincludes obtaining a sequence of current spectra from a substrateundergoing polishing, storing a plurality of predetermined spectra and aplurality of index values, each spectrum from the plurality ofpredetermined spectra associated with an index value representative of adegree of polishing, for each current spectrum in the sequence,selecting a particular spectrum from the plurality of predeterminedspectra that best fits the current spectrum and determining the indexvalue of the particular spectrum that is the best fit to create asequence of index values, determining a polishing endpoint using thesequence of index values, and halting the polishing when the polishingendpoint is reached.

A computer readable storage device storing a computer program, which,when executed by a computer processor, causes the computer processor toperform operations laid out in the computer implemented methodsdescribed herein, is also described.

As used in the instant specification, the term substrate can include,for example, a product substrate (e.g., which can include multiplememory or processor dies), a test substrate, a bare substrate, and agating substrate. The substrate can be at various stages of integratedcircuit fabrication, e.g., the substrate can be a bare wafer, or it caninclude one or more deposited and/or patterned layers. The termsubstrate can include circular disks and rectangular sheets.

Possible advantages of implementations of the invention can include thefollowing. The endpoint detection system can be less sensitive tovariations between zones of a substrate in the underlying layers orpattern, and thus reliability of the endpoint system to detect a desiredpolishing endpoint for each zone can be improved. As a result, thicknessuniformity of a wafer can be improved.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,aspects, and advantages of the invention will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example cross-section of a portion of a substrate.

FIG. 2 is a cross-sectional view illustrating an example of a polishingapparatus.

FIG. 3 is an overhead view of an example rotating platen illustratinglocations of in-situ measurements.

FIG. 4 is a schematic diagram illustrating an example index trace from aspectrographic monitoring system showing a good data fit.

FIG. 5 is a schematic diagram illustrating an example index trace from aspectrographic monitoring system showing a poorer fit.

FIG. 6 is a flow diagram of an implementation of determining a polishingendpoint.

FIG. 7 illustrates an example graph of polishing progress versus timefor a process in which the polishing rates are adjusted.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Substrates, particularly device substrates, can have different zoneswith different characteristics, e.g., different feature densities orunderlying layer thicknesses. Consequently, during spectrographicmonitoring performed in-situ during polishing, measured spectra for somezones may not reliably match to reference spectra that were establishedbased on data from other zones.

This problem can be addressed by using multiple libraries representingdifferent zones within a substrate. A sequence of current spectra ofreflected light can be measured for each of a plurality of zones of asubstrate, and spectra from the sequences for different zones can becompared to reference spectra from different spectra libraries togenerate best-match reference spectra which can be used for endpointdetermination.

Referring to FIG. 1, a substrate 10 can include a wafer 12, an outermostlayer 14 that will undergo polishing, and one or more underlying layers16, some of which are typically patterned, between the outermost layer14 and the wafer 12. For example, the outermost layer 14 and animmediately adjacent underlying layer 16 can both be dielectrics, e.g.,the outermost layer 14 can be an oxide and the immediately adjacentunderlying layer 16 can be a nitride. Other layers, such as otherconductive and dielectric layers, can be formed between the immediatelyadjacent underlying layer and the substrate.

One potential problem with spectrographic endpoint detection duringchemical mechanical polishing, particularly spectrographic endpointdetection where both the outermost layer 14 and the underlying layer 16are dielectrics, is that the thickness(es) of the underlying layer(s)can vary from zone to zone on a substrate. A substrate can have multiplezones, such as a center zone, a middle zone and an edge zone. Forexample, on a 300 mm wafer, the center zone can extend from the centerto a radius of 50 mm, the middle zone can extend from a radius of 50 mmto about 100 mm and the edge can extend from about 100 mm to about 150mm. In some implementations, the substrate has more or fewer zones thanthe three mentioned.

As a result of the variations, zones on a substrate in which theoutermost layer has the same thickness can actually reflect differentspectra, depending on the underlying layer(s). Consequently, a targetspectrum used to trigger a polishing endpoint for some zones of thesubstrate may not function properly for other zones of the substrate,e.g., if the underlying layers have different thicknesses. However, itis possible to compensate for this effect by comparing spectra obtainedduring polishing against multiple spectra, where the multiple spectrarepresent variations in the underlying layer(s).

Variations can also inherently exist between reference spectra that aredetermined using one zone on the substrate versus another due tovariations between zones other than underlying layer thickness, such asvariations in the starting thickness of the outermost layer undergoingpolishing, variations in the thickness of the outermost layer (e.g., dueto different polishing rates in each zone) during polishing, variationsin the optical properties of the environment, variations in the patternof the underlying layer, e.g., line width (e.g., metal or polysiliconline width), or variations in composition of the layers. However, it issimilarly possible to compensate for this effect by comparing spectraobtained during polishing against multiple spectra, where the multiplespectra represent other variations between the substrates.

In addition, it is possible to compensate for variations using multiplelibraries of reference spectra. Within each library are multiplereference spectra representing substrates (or zones) with variations inthe thickness of the outermost layer but with otherwise similarcharacteristics, e.g., similar underlying layer thickness. Betweenlibraries, other variations, such as variations in thickness ofunderlying layer(s), can be represented, e.g., different librariesinclude reference spectra representing substrates (or zones) withdifferent thickness of underlying layer(s).

FIG. 2 is a cross-sectional view illustrating an example of a polishingapparatus 20. The polishing apparatus 20 includes a rotatabledisk-shaped platen 24, on which a polishing pad 30 is situated. Theplaten is operable to rotate about an axis 25. For example, a motor canturn a drive shaft 22 to rotate the platen 24.

An optical access 36 through the polishing pad is provided by includingan aperture (i.e., a hole that runs through the pad) or a solid window.The solid window can be secured to the polishing pad, although in someimplementations the solid window can be supported on the platen 24 andproject into an aperture in the polishing pad. The polishing pad 30 isusually placed on the platen 24 so that the aperture or window overliesan optical head 53 situated in a recess 26 of the platen 24. The opticalhead 53 consequently has optical access through the aperture or windowto a substrate being polished. The optical head is further describedbelow.

The polishing apparatus 20 includes a combined slurry/rinse arm 39.During polishing, the arm 39 is operable to dispense a polishing liquid38, such as a slurry. Alternatively, the polishing apparatus includes aslurry port operable to dispense slurry onto the polishing pad 30.

The polishing apparatus 20 includes a carrier head 70 operable to holdthe substrate 10 against the polishing pad 30. The carrier head 70 issuspended from a support structure 72, for example, a carousel, and isconnected by a carrier drive shaft 74 to a carrier head rotation motor76 so that the carrier head can rotate about an axis 71. In addition,the carrier head 70 can oscillate laterally in a radial slot formed inthe support structure 72. In operation, the platen is rotated about itscentral axis 25, and the carrier head is rotated about its central axis71 and translated laterally across the top surface of the polishing pad.

The polishing apparatus also includes an optical monitoring system,which can be used to determine whether to adjust a polishing rate or anadjustment for the polishing rate as discussed below. The opticalmonitoring system includes a light source 51 and a light detector 52.Light passes from the light source 51, through the optical access 36 inthe polishing pad 30, impinges and is reflected from the substrate 10back through the optical access 36, and travels to the light detector52.

A bifurcated optical cable 54 can be used to transmit the light from thelight source 51 to the optical access 36 and back from the opticalaccess 36 to the light detector 52. The bifurcated optical cable 54 caninclude a “trunk” 55 and two “branches” 56 and 58.

As mentioned above, the platen 24 includes the recess 26, in which theoptical head 53 is situated. The optical head 53 holds one end of thetrunk 55 of the bifurcated fiber cable 54, which is configured to conveylight to and from a substrate surface being polished. The optical head53 can include one or more lenses or a window overlying the end of thebifurcated fiber cable 54. Alternatively, the optical head 53 can merelyhold the end of the trunk 55 adjacent the solid window in the polishingpad.

The platen includes a removable in-situ monitoring module 50. Thein-situ monitoring module 50 can include one or more of the following:the light source 51, the light detector 52, and circuitry for sendingand receiving signals to and from the light source 51 and light detector52. For example, the output of the detector 52 can be a digitalelectronic signal that passes through a rotary coupler, e.g., a slipring, in the drive shaft 22 to a controller 60, such as a computer, forthe optical monitoring system. Similarly, the light source can be turnedon or off in response to control commands in digital electronic signalsthat pass from the controller through the rotary coupler to the module50.

The in-situ monitoring module can also hold the respective ends of thebranch portions 56 and 58 of the bifurcated optical fiber 54. The lightsource is operable to transmit light, which is conveyed through thebranch 56 and out the end of the trunk 55 located in the optical head53, and which impinges on a substrate being polished. Light reflectedfrom the substrate is received at the end of the trunk 55 located in theoptical head 53 and conveyed through the branch 58 to the light detector52.

The light source 51 is operable to emit white light. In oneimplementation, the white light emitted includes light havingwavelengths of 200-800 nanometers. A suitable light source is a xenonlamp or a xenon mercury lamp.

The light detector 52 can be a spectrometer. A spectrometer is basicallyan optical instrument for measuring intensity of light over a portion ofthe electromagnetic spectrum. A suitable spectrometer is a gratingspectrometer. Typical output for a spectrometer is the intensity of thelight as a function of wavelength (or frequency).

The light source 51 and light detector 52 are connected to a computingdevice, e.g., the controller 60, operable to control their operation andto receive their signals. The computing device can include amicroprocessor situated near the polishing apparatus, e.g., a personalcomputer. With respect to control, the computing device can, forexample, synchronize activation of the light source 51 with the rotationof the platen 24.

As shown in FIG. 3, as the platen rotates, the computer can cause thelight source 51 to emit a series of flashes starting just before andending just after the substrate 10 passes over the in-situ monitoringmodule (each of points 301-311 depicted represents a location wherelight from the in-situ monitoring module impinged and reflected off.)Alternatively, the computer can cause the light source 51 to emit lightcontinuously starting just before and ending just after the substrate 10passes over the in-situ monitoring module. In either case, the signalfrom the detector can be integrated over a sampling period to generatespectra measurements at a sampling frequency. The sampling frequency canbe about 3 to 100 milliseconds. Although not shown, each time thesubstrate 10 passes over the monitoring module, the alignment of thesubstrate with the monitoring module can be different than in theprevious pass. Over one rotation of the platen, spectra are obtainedfrom different radii on the substrate. That is, some spectra areobtained from locations closer to the center of the substrate and someare closer to the edge. In addition, over multiple rotations of theplaten, a sequence of spectra can be obtained over time.

In operation, the computing device can receive, for example, a signalthat carries information describing a spectrum of the light received bythe light detector 52 for a particular flash of the light source or timeframe of the detector. Thus, this spectrum is a spectrum measuredin-situ during polishing.

Without being limited to any particular theory, the spectrum of lightreflected from the substrate 10 evolves as polishing progresses due tochanges in the thickness of the outermost layer, thus yielding asequence of time-varying spectra. Moreover, particular spectra areexhibited by particular thicknesses of the layer stack.

The computing device can process the signal to determine an endpoint ofa polishing step. In particular, the computing device can execute logicthat determines, based on the measured spectra, when an endpoint hasbeen reached.

In brief, the computing device can compare the measured spectra tomultiple reference spectra, and can use the results of the comparison todetermine when an endpoint has been reached.

As used herein, a reference spectrum is a predefined spectrum generatedprior to polishing of the substrate. A reference spectrum can have apre-defined association, i.e., defined prior to the polishing operation,with a value of a substrate property, such as a thickness of theoutermost layer. Alternatively or in addition, the reference spectrumcan have a pre-defined association with a value representing a time inthe polishing process at which the spectrum is expected to appear,assuming that the actual polishing rate follows an expected polishingrate.

A reference spectrum can be generated empirically, e.g., by measuringthe spectrum from a test substrate having a known layer thicknesses, orgenerated from theory. For example, to determine a reference spectrum, aspectrum of a “set-up” substrate with the same pattern as the productsubstrate can be measured pre-polish at a metrology station. A substrateproperty, e.g., the thickness of the outermost layer, can also bemeasured pre-polish with the same metrology station or a differentmetrology station. The set-up substrate is then polished while spectraare collected. For each spectrum, a value is recorded representing thetime in the polishing process at which the spectrum was collected. Forexample, the value can be an elapsed time, or a number of platenrotations. The substrate can be overpolished, i.e., polished past adesired thickness, so that the spectrum of the light that reflected fromthe substrate when the target thickness is achieved can be obtained. Thespectrum and property, e.g., thickness of the outermost layer, of theset-up substrate can then be measured post-polish at a metrologystation.

Optionally, the set-up substrate can be removed periodically from thepolishing system, and its properties and/or spectrum measured at ametrology station, before being returned to polishing. A value can alsobe recorded representing the time in the polishing process at which thespectrum is measured at the metrology station.

The reference spectra are stored in a library. The reference spectra inthe library represent substrates with a variety of different thicknessesin the outer layer.

Multiple libraries can be created from different set-up substrates thatdiffer in characteristics other than the thickness of the outermostlayer, e.g., that differ in underlying layer thickness, underlying layerpattern, or outer or underlying layer composition.

The measured thicknesses and the collected spectra are used to select,from among the collected spectra, one or more spectra determined to beexhibited by the substrate when it had a thickness of interest. Inparticular, linear interpolation can be performed using the measuredpre-polish film thickness and post-polish substrate thicknesses (orother thicknesses measured at the metrology station) to determine thetime and corresponding spectrum exhibited when the target thickness wasachieved. The spectrum or spectra determined to be exhibited when thetarget thickness was achieved are designated to be the target spectrumor target spectra.

In some implementations, the target spectrum is the spectrum thatcorresponds to the thickness of interest when polishing is complete. Alayer thickness when polishing is complete can be that the layer hasbeen completely removed or that the layer continues to exist and hassome predetermined thickness. The predetermined thickness is not limitedto any particular thickness. In some implementations, the layerthickness when a polishing endpoint is determined or when a signal issent to halt polishing is greater than the desired final thickness ofthe layer. Because there can be a lapse between the time that thepolishing apparatus is to be halted and the time that polishing actuallystops, the target layer thickness can be greater than the desired endingthickness to account for the polishing that occurs between determiningto halt polishing or the stop signal being sent and the polishingactually stopping. The index value that corresponds to the targetspectrum can be the endpoint index value.

In addition, assuming a uniform polishing rate a thickness of theoutermost layer can be calculated for each spectrum collected in-situusing linear interpolation between the measured pre-polish filmthickness and post-polish substrate thicknesses (or other thicknessesmeasured at the metrology station) based on the time at which thespectrum was collected.

In addition to being determined empirically, some or all of thereference spectra can be calculated from theory, e.g., using an opticalmodel of the substrate layers. For example, and optical model can beused to calculate a spectrum for a given outer layer thickness D. Avalue representing the time in the polishing process at which thespectrum would be collected can be calculated, e.g., by assuming thatthe outer layer is removed at a uniform polishing rate. For example, thetime Ts for a particular spectrum can be calculated simply by assuming astarting thickness D0 and uniform polishing rate R (Ts=(D0-D)/R). Asanother example, linear interpolation between measurement times T1, T2for the pre-polish and post-polish thicknesses D1, D2 (or otherthicknesses measured at the metrology station) based on the thickness Dused for the optical model can be performed (Ts=T2-T1*(D1-D)/(D1-D2)).

As used herein, a library of reference spectra is a collection ofreference spectra which represent substrates that share a property incommon (other than outer layer thickness). However, the property sharedin common in a single library may vary across multiple libraries ofreference spectra. For example, two different libraries can includereference spectra that represent substrates with two differentunderlying thicknesses.

Spectra for different libraries can be generated by polishing multiple“set-up” substrates with different substrate properties (e.g.,underlying layer thicknesses, or layer composition) and collectingspectra as discussed above; the spectra from one set-up substrate canprovide a first library and the spectra from another substrate with adifferent underlying layer thickness can provide a second library.Alternatively or in addition, reference spectra for different librariescan be calculated from theory, e.g., spectra for a first library can becalculated using the optical model with the underlying layer having afirst thickness, and spectra for a second library can be calculatedusing the optical model with the underlying layer having a different onethickness.

In some implementations, each reference spectrum is assigned an indexvalue. This index can be the value representing the time in thepolishing process at which the reference spectrum is expected to beobserved. The spectra can be indexed so that each spectrum in aparticular library has a unique index value. The indexing can beimplemented so that the index values are sequenced in an order in whichthe spectra were measured. An index value can be selected to changemonotonically, e.g., increase or decrease, as polishing progresses. Inparticular, the index values of the reference spectra can be selected sothat they form a linear function of time or number of platen rotations.For example, the index values can be proportional to a number of platenrotations. Thus, each index number can be a whole number, and the indexnumber can represent the expected platen rotation at which theassociated spectrum would appear.

The reference spectra and their associated indices can be stored in alibrary. The library can be implemented in memory of the computingdevice of the polishing apparatus. The index of the target spectrum canbe designated as a target index.

During polishing, an index trace can be generated for each library. Eachindex trace includes a sequence of indices that form the trace, eachparticular index of the sequence associated with a particular measuredspectrum. For the index trace of a given library, a particular index inthe sequence is generated by selecting the index of the referencespectrum from the given library that is the closest fit to a particularmeasured spectrum.

As shown in FIG. 4, the indexes corresponding to each measured spectrumcan be plotted according to time or platen rotation. A polynomialfunction of known order, e.g., a first-order function (i.e., a line) isfit to the plotted index numbers, e.g., using robust line fitting. Wherethe line meets the target index defines the endpoint time or rotation.For example, a first-order function is fit to the data points as shownin FIG. 4.

Without being limited to any particular theory, some libraries canpredict proper endpoints better than others because they match themeasured data more consistently. For example, out of multiple librariesrepresenting substrates (or zones within a substrate) with differentunderlying layer thickness, the library which is the closest match tothe underlying layer thickness of the measured zone should provide thebest match. Thus a benefit of the methods described herein is a moreaccurate endpoint detection system achieved by utilizing multiplereference spectra libraries. In particular, a different referencespectra library can be used for each zone of a substrate. In addition,each zone can have multiple different reference spectra libraries.

For example, FIG. 4 is a schematic diagram illustrating an example indextrace from a spectrographic monitoring system showing a good data fitthat corresponds to a first zone on a substrate. In comparison, FIG. 5is a schematic diagram illustrating an example index trace from aspectrographic monitoring system showing a poorer data fit to a secondzone on the substrate. The example index traces of FIG. 4. and FIG. 5represent index traces generated using a same reference spectra library.The plotted index numbers in FIG. 5 have a greater amount of differencefrom an associated robust line, relatively, as compared to thedifferences from an associated robust line and index trace associatedwith plotted index numbers in FIG. 4. Therefore, it can be advantageousto use different reference spectra libraries for different zones on asubstrate.

In some implementations, a spectrum is obtained at more than one radialposition of the substrate. For each spectra measurement, the radialposition on the substrate can be determined, and the spectrameasurements can be binned into zones based on their radial positions(e.g., radial zones). A substrate can have multiple zones, such as acenter zone, a middle zone and an edge zone, as described above. Theposition from which the spectra is obtained can be determined, such asby using the method described in U.S. Pat. No. 7,097,537, or asdescribed in U.S. Pat. No. 7,018,271, incorporated herein by referencefor all purposes.

The measured spectra from each zone (or, for each zone, an average ofspectra from within the zone obtained from a single sweep of the sensoracross the substrate) are compared to the reference spectra in one ormore of a plurality of reference spectra libraries, as described above,and the corresponding index number is determined from the comparisonwith the spectra library. The corresponding index numbers for each zonecan be used to generate an index trace, and the index trace can be usedto determine a goodness of fit.

FIG. 6 shows a method 600 for determining an endpoint of a polishingstep. A substrate from the batch of substrates is polished (step 602),and for each zone of the substrate, the following steps are performedfor each platen revolution. One or more spectra are measured to obtain acurrent spectrum for a current platen revolution (step 604). A firstbest-match reference spectrum stored in a first spectra library whichbest fits the current spectrum is determined (step 606). A secondbest-match reference spectrum stored in a second spectra library whichbest fits the current spectra is determined (step 608). More generally,for each library being used for the zone, the reference spectrum that isthe best-match to the current spectrum is determined. The index of thefirst best-matched reference spectrum from the first library that is thebest fit to the current spectrum is determined (step 610), and isappended to a first index trace (step 612) associated with the firstlibrary. The index of the second best-match reference spectra from thesecond library that is the best fit to the current spectrum isdetermined (step 614), and is appended to a second index trace (step616) associated with the second library. More generally, for eachlibrary, the index for each best-match reference spectrum is determinedand appended to an index trace for the associated library. A first lineis fit to the first index trace (step 620), and a second line is fit tothe second index trace (step 622). More generally, for each index trace,a line can be fit to the index trace. The lines can be fit using robustline fitting.

Endpoint can be called (step 630) when the index of the first best-matchspectra matches or exceeds the target index (step 624) and the indextrace associated with the first spectra library has the best goodness offit to the robust line associated with the first spectra library (step626), or when the index of the second best-match spectra matches orexceeds the target index (step 624) and the index trace associated withthe second spectra library has the best goodness of fit to the robustline associated with the second spectra library (step 626). Moregenerally, endpoint can be called when the index trace with the best fitto its associated fitted line matches or exceeds the target index.

Although two libraries are discussed above, the technique can be usedwith three or more libraries. In addition, some, all or none of thelibraries can be shared between zones, e.g., some, all or no librariesfor one zone can be used with another zone.

Also, rather than comparing the index values themselves to the targetindex, the value of the fitted line at the current time can be comparedto the target index. That is, a value (which need not be an integer inthis context) is calculated for the current time from the linearfunction, and this value is compared to the target index.

Using method 600, for example, different reference spectra libraries canbe used to determine polishing endpoints for different zones of thesubstrate. In particular, the reference spectra library that produces anindex trace with the best goodness of fit for a particular zone is used.In these and other implementations, some zones could use the samereference spectra library, while some zones may use different referencespectra libraries. In some implementations, subsets of a plurality ofreference spectra libraries can be predetermined (e.g., user-selected)to limit the number of libraries that are used for each zone. Forexample, two or more reference libraries can be predetermined for usewith each zone. In some implementations, a particular reference spectralibrary can be identified for each zone based on goodness of fit. Forexample, during a predetermined time period during the polishing process(e.g., first 10-20 seconds of the polish), the particular referencespectra library to be used for each zone, e.g., a best library for azone, can be selected based on the reference spectra library thatproduces the best goodness of fit during the predetermined time period.

Other implementations are possible. For example, although two librariesare discussed above, the technique can be used with three or morelibraries. As another example, some, all or none of the libraries can beshared between zones, e.g., some, all or no libraries for one zone canbe used with another zone. As yet another example, exactly one referencespectra library can be predetermined for use with each zone, such that adifferent reference spectra library is used for each zone. For thisimplementation, there is no selection of a reference library based ongoodness of fit; rather reliability of endpointing can be improvedsimply by using different reference libraries for the different zones.

Determining whether an index trace associated with a spectra library hasthe best goodness of fit to the linear function associated with thelibrary can include determining whether the index trace of theassociated spectra library has the least amount of difference from theassociated robust line, relatively, as compared to the differences fromthe associated robust line and index trace associated with anotherlibrary, e.g., the lowest standard deviation, the greatest correlation,or other measure of variance. In one implementation, the goodness of fitis determined by calculating a sum of squared differences between theindex data points and the linear function; the library with the lowestsum of squared differences has the best fit.

If one of the index traces reaches the target index but is not the bestfit, then the system can wait until the either that index trace is thebest fit, or the index trace that is the best fit reaches the targetindex.

Although only two libraries and two index traces are discussed above,the concept is applicable to more than two libraries that would providemore than two index traces. In addition, rather than calling endpointwhen the index of the trace matches a target index, endpoint could becalled at the time calculated for the line fit to the trace to cross thetarget index. Moreover, it would be possible to reject the index traceswith worst fit before the endpoint, e.g., about 40% to 60% through theexpected polishing time, in order to reduce processing.

Obtaining a current spectra can include measuring at least one spectrumof light reflecting off a substrate surface being polished (step 604).Optionally, multiple spectra can be measured, e.g., spectra measured atdifferent radii on the substrate can be obtained from a single rotationof platen, e.g., at points 301-311 (FIG. 3). If multiple spectra aremeasured, a subset of one or more of the spectra can be selected for usein the endpoint detection algorithm. For example, spectra measured atsample locations near the center of the substrate (for example, atpoints 305, 306, and 307 shown in FIG. 3) could be selected. The spectrameasured during the current platen revolution are optionally processedto enhance accuracy and/or precision.

Determining a difference between each of the selected measured spectraand each of the reference spectra (step 606 or 610) can includecalculating the difference as a sum of differences in intensities over arange of wavelengths. That is,

${Difference} = {\sum\limits_{\lambda = a}^{b}{{abs}\left( {{I_{current}(\lambda)} - {I_{reference}(\lambda)}} \right)}}$

where a and b are the lower limit and upper limit of the range ofwavelengths of a spectrum, respectively, and I_(current)(λ) andI_(reference)(λ) are the intensity of a current spectra and theintensity of the reference spectra for a given wavelength, respectively.Alternatively, the difference can be calculated as a mean square error,that is:

${Difference} = {\sum\limits_{\lambda = a}^{b}\left( {{I_{current}(\lambda)} - {I_{reference}(\lambda)}} \right)^{2}}$

Where there are multiple current spectra for each zone, a best match canbe determined between each of the current spectra and each of thereference spectra of a given library for that zone. Each selectedcurrent spectra is compared against each reference spectra. Givencurrent spectra e, f, and g, and reference spectra E, F, and G, forexample, a matching coefficient could be calculated for each of thefollowing combinations of current and reference spectra: e and E, e andF, e and G, f and E, f and F, f and G, g and E, g and F, and g and G.Whichever matching coefficient indicates the best match, e.g., is thesmallest, determines the reference spectrum, and thus the index.

Determining whether an index trace associated with a spectra library hasthe best goodness of fit to the robust line associated with the spectralibrary (step 620 or 624) may include determining which library has theleast sum of squared differences between the data points comprising anindex trace and the robust line fitted to the associated with thespectra library. For example, the least sum of squared differencesbetween the data points as represented in FIG. 4 and FIG. 5 and theirrespective associated robust lines.

In some implementations, the expected endpoint time is determined forone zone, such as the center zone. The polishing rates within the otherzones are then adjusted, if appropriate, to achieve their desiredendpoints at the same time as the expected endpoint time for theselected zone, e.g., the center zone. The polishing rates can beadjusted, such as by increasing or decreasing the pressure in acorresponding zone in the carrier head. In some carrier heads, such asthe carrier head described in U.S. Publication No. 2005-0211377, thecarrier head has adjustable pressure zones. The change in polishing ratecan be assumed to be directly proportional to the change in pressure,e.g., a simple Prestonian model. Additionally, a control model forpolishing the substrates can be developed that takes into account theinfluences of platen or head rotational speed, second order effects ofdifferent head pressure combinations, the polishing temperature, slurryflow, or other parameters that affect the polishing rate.

Referring to FIG. 7, if a particular profile is desired, such as auniform thickness across the surface of the substrate, the slope of thepolishing rate, as indicated by the change in index numbers according totime, can be monitored and the polishing rate adjusted if the goodnessof fit of the index trace indicates that the spectra measurements arereliable (e.g., the goodness of fit is less than a predeterminedthreshold value). After a polishing stabilizing period 705, a spectrumis obtained at the center zone 710, at the edge zone 715 and in betweenat a middle zone 720. Here, the zones are circular or annular zones.Each spectrum is correlated to its respective index. This process isrepeated over a number of platen rotations, or over time, and thepolishing rate at each of the center zone 710, middle zone 720 and edgezone 715 is determined. The polishing rate is indicated by the slope ofthe line that is obtained by plotting the index 730 (y-axis) accordingto the number of rotations 735 (x-axis). If any of the rates iscalculated to be faster or slower than the others, the rate in the zonecan be adjusted if the goodness of fit of the index trace indicates thatthe spectra measurements are reliable. Here, the adjustment is based onthe endpoint C_(E) of the center zone 710. For some implementations, ifthe polishing rates are within an acceptable margin, no adjustment needbe made. An approximate polish end point EDP is known from polishingsimilar substrates with similar polishing parameters or from using thedifference method described above. At a first polishing time T₁ duringthe polishing process, the rate of polishing at the middle zone 720 isdecreased and the rate of polishing at the edge zone is increased.Without adjusting the polishing rate at the middle zone 720, the middlezone would be polished faster than the rest of the substrate, beingpolished at an overpolish rate of M_(A). Without adjusting the polishingrate at T₁ for the edge zone 715, the edge zone 715 would beunderpolished at a rate of E_(u).

At a subsequent time (T₂) during the polishing process, the rates canagain be adjusted, if appropriate. The goal in this polishing process isto end polishing when the substrate has a flat surface, or an oxidelayer across the surface that is relatively even. One way of determiningthe amount to adjust the rate of polishing is to adjust the rates sothat the index of each of the center, middle and edge zones are equal atthe approximate polish end point EDP. Thus, the polishing rate at theedge zone needs adjusting while the center and middle zones are polishedat the same rate as prior to T₂. If the EDP is approximate, polishingcan be stopped when the index at each zone is in the desired location,that is, when each location has the same index.

During the polishing process, it is preferred to only make changes inthe polishing rates a few times, such as four, three, two or only onetime. The adjustment can be made near the beginning, at the middle ortoward the end of the polishing process. Associating the spectra with anindex number creates a linear comparison for polishing at each of thezones and can simplify calculations required to determine how to controlthe polishing process and obviate complex software or processing steps.

A method that can be applied during the endpoint process is to limit theportion of the library that is searched for matching spectra. Thelibrary typically includes a wider range of spectra than will beobtained while polishing a substrate. The wider range accounts forspectra obtained from a thicker starting outermost layer and spectraobtained after overpolishing. During substrate polishing, the librarysearching is limited to a predetermined range of library spectra. Insome embodiments, the current rotational index N of a substrate beingpolished is determined. N can be determined by searching all of thelibrary spectra. For the spectra obtained during a subsequent rotation,the library is searched within a range of freedom of N. That is, ifduring one rotation the index number is found to be N, during asubsequent rotation which is X rotations later, where the freedom is Y,the range that will be searched from (N+X)−Y to (N+X)+Y. For example, ifat the first polishing rotation of a substrate, the matching index isfound to be 8 and the freedom is selected to be 5, for spectra obtainedduring the second rotation, only spectra corresponding to index numbers9±5 are examined for a match. When this method is applied, the samemethod can be independently applied to all of the libraries currentlybeing used in the endpoint detection process.

Implementations and all of the functional operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structural meansdisclosed in this specification and structural equivalents thereof, orin combinations of them. Implementations can be implemented as one ormore computer program products, i.e., one or more computer programstangibly embodied in an information carrier, e.g., in a machine-readablestorage media, for execution by, or to control the operation of, dataprocessing apparatus, e.g., a programmable processor, a computer, ormultiple processors or computers. A computer program (also known as aprogram, software, software application, or code) can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program does notnecessarily correspond to a file. A program can be stored in a portionof a file that holds other programs or data, in a single file dedicatedto the program in question, or in multiple coordinated files (e.g.,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be deployed to be executed on one computeror on multiple computers at one site or distributed across multiplesites and interconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

The above described polishing apparatus and methods can be applied in avariety of polishing systems. Either the polishing pad, or the carrierhead, or both can move to provide relative motion between the polishingsurface and the substrate. For example, the platen may orbit rather thanrotate. The polishing pad can be a circular (or some other shape) padsecured to the platen. Some aspects of the endpoint detection system maybe applicable to linear polishing systems, e.g., where the polishing padis a continuous or a reel-to-reel belt that moves linearly. Thepolishing layer can be a standard (for example, polyurethane with orwithout fillers) polishing material, a soft material, or afixed-abrasive material. Terms of relative positioning are used; itshould be understood that the polishing surface and substrate can beheld in a vertical orientation or some other orientation.

Particular embodiments of the invention have been described. Otherembodiments are within the scope of the following claims. For example,the actions recited in the claims can be performed in a different orderand still achieve desirable results.

1. A method of controlling a chemical mechanical polishing operation,comprising: polishing a substrate; storing a library having a pluralityof reference spectra, each reference spectrum of the plurality ofreference spectra having a stored associated value, each storedassociated value representing a time during a polishing operation atwhich the reference spectrum of the plurality of reference spectra withthe associated value is expected to be observed, wherein each storedassociated value was generated prior to polishing of the substrate;measuring a sequence of spectra in-situ during polishing to obtainmeasured spectra; for each measured spectrum of the sequence of spectra,finding a best matching reference spectrum from the plurality ofreference spectra to generate a sequence of best matching referencespectra; determining the stored associated value for each best matchingspectrum from the sequence of best matching reference spectra togenerate a sequence of values; fitting a linear function to the sequenceof values; calculating a time at which the linear function equals atarget value; and halting polishing at the calculated time.
 2. Themethod of claim 1, wherein each stored associated value is a time valueduring the polishing at which the reference spectrum with the storedassociated value is expected to be observed.
 3. The method of claim 1,wherein polishing the substrate comprises rotating a platen, and whereineach stored associated value is an ordinal number of rotation of theplaten at which the reference spectrum with the stored associated valueis expected to be observed.
 4. The method of claim 1, wherein eachreference spectrum in the library has a unique associated value.
 5. Themethod of claim 1, wherein the stored associated values are wholenumbers.
 6. The method of claim 1, wherein the stored associated valuesmonotonically increase as a function of the time during the polishingoperation at which the reference spectrum of the plurality of referencespectra with the stored associated value is expected to be observed. 7.The method of claim 6, wherein the stored associated values are a linearfunction of the time during the polishing operation at which thereference spectrum of the plurality of reference spectra with the storedassociated value is expected to be observed.
 8. The method of claim 1,wherein the sequence of values provides a trace.
 9. The method of claim8, further comprising smoothing the trace.
 10. A computer readablestorage device storing a computer program, which, when executed by acomputer processor of a polishing system, causes the polishing system toperform operations comprising: polishing a substrate; storing a libraryhaving a plurality of reference spectra, each reference spectrum of theplurality of reference spectra having a stored associated value, eachstored associated value representing a time during a polishing operationat which the reference spectrum of the plurality of reference spectrawith the associated value is expected to be observed, wherein eachstored associated value was generated prior to polishing of thesubstrate; measuring a sequence of spectra in-situ during polishing toobtain measured spectra; for each measured spectrum of the sequence ofspectra, finding a best matching reference spectrum from the pluralityof reference spectra to generate a sequence of best matching referencespectra; determining the stored associated value for each best matchingspectrum from the sequence of best matching reference spectra togenerate a sequence of values; fitting a linear function to the sequenceof values; calculating a time at which the linear function equals atarget value; and halting polishing at the calculated time.